
一 先搞清楚传送书到底是什么
在我的世界里传送书不是原版自带的东西。原版只有书与笔和成书能写字。你想让一本书实现传送效果必须靠指令方块或者模组。作为玩了八年的老玩家我拍着胸脯说纯生存无作弊做不出来。所以第一步你要决定走哪条路。基岩版和Java版区别很大。Java版指令更自由基岩版限制多。传送书的核心逻辑就是让玩家右键点击书的时候执行一个传送指令。听起来简单但实际做起来有坑。下面我按不同方案给你拆开讲。
二 指令方块加记分板的土办法
这是最接近原版的做法。你需要一个指令方块循环检测玩家手里的书。具体步骤是先给书改个特殊名字比如叫“回家卷轴”。然后放一个循环指令方块输入execute as @a[nbt={SelectedItem:{tag:{display:{Name:'{"text":"回家卷轴"}'}}}}] at @s run tp @s 坐标。注意这里双引号要嵌套好不然会报错。接着用记分板做冷却防止连点。再配合一个右键检测其实原版没有直接右键检测。你得用胡萝卜钓竿或者别的物品替代。很多老玩家用钓鱼竿加标签来模拟右键。这个方法笨但能用。缺点是每次传送都要改坐标麻烦。而且多人服务器容易卡指令方块。我当年在服务器里试过十个玩家同时用直接崩了。
三 数据包方案最干净利落
如果你玩Java版1.13以上强烈推荐数据包。写一个函数文件检测玩家手里的书。在tick函数里用execute if entity @a[nbt={SelectedItem:{id:"minecraft:written_book",tag:{display:{Name:'{"text":"传送书"}'}}}}] run function tp:do_tp。然后在do_tp函数里写tp @s 目标坐标。再加一个advancement或者trigger来防止重复触发。数据包的好处是不占实体不卡服。你还可以做多本传送书分别对应不同地点。比如主城一本下界一本末地一本。我自己的生存存档就用了这个方案。做出来之后感觉比模组还舒服。记得给书加附魔光效看起来更帅。用Unbreakable标签防止书被消耗。
四 模组方案最省心但有限制
如果你不介意装模组那直接找现成的。比如传送书模组或者旅行地图模组。很多整合包自带一键传送书。你只需要合成一本空书然后右键绑定坐标。再右键就能传回去。这种方案对新手最友好。但缺点是你得开模组服或者单人装Forge。而且不同模组之间可能冲突。我试过在1.16.5用传送书模组加Optifine结果右键没反应。后来发现是按键冲突。所以装模组前先备份存档。另外有些模组允许你设置传送消耗经验等级。这样生存模式更平衡。我个人最喜欢的是那种可以跨维度传送的模组书。下界末地随便跑。
五 自己做一本功能完整的传送书实例
我拿Java版1.19数据包给你演示一遍。首先在数据包文件夹里建data/tp/function。写load.mcfunction里加scoreboard objectives add tp_use dummy。然后写tick.mcfunction检测玩家主手物品。用execute as @a[nbt={SelectedItem:{id:"minecraft:written_book",tag:{display:{Name:'{"text":"传送书"}'}}}}] run function tp:check。在check里先判断记分板tp_use是不是0。如果是0就执行tp @s 100 64 100。然后设置tp_use为1。再写一个循环函数每20 tick把tp_use减1。这样冷却就是1秒。最后把书用铁砧改名成传送书。注意书名和lore都要匹配。测试的时候先开作弊。如果没反应就检查nbt路径。很多新手卡在SelectedItem和Inventory的区别上。记住是SelectedItem不是Inventory。这个方案我用了半年没出过问题。
六 常见坑和避雷提醒
第一个坑是坐标写错。tp指令后面必须跟三个数字。少一个就传送到虚空。第二个坑是权限问题。普通玩家不能用tp指令除非你是管理员。所以数据包方案里要用trigger或者直接给op。第三个坑是书的名字。如果你用彩色文字那nbt匹配会更复杂。建议先用纯文本测试。第四个坑是多人游戏里所有人都能触发。你要加team或者tag限制。第五个坑是基岩版。基岩版没有nbt选择器。你只能用hasitem或者用结构方块。我试过基岩版做传送书最后放弃了。太折腾。老老实实玩Java版吧。最后提醒一句做之前先备份存档。我见过太多人把存档搞坏然后哭晕在厕所。
传送书这个东西说难不难说简单也不简单。核心就是让书和传送指令挂钩。指令方块适合单人小地图。数据包适合长期生存。模组适合懒人。你自己选一条路走通就行。别想着一步登天。先做一个能传送到家的书。成功了再扩展成多地点传送。玩我的世界最大的乐趣就是折腾。祝你早日做出自己的传送书。
相关文章